
package com.youlai.boot.system.service;
import com.baomidou.mybatisplus.extension.service.IService;
import com.youlai.boot.system.model.entity.ArticleType;
import com.youlai.boot.common.model.Option;
import com.youlai.boot.system.model.form.ArticleTypeForm;
import com.youlai.boot.system.model.query.ArticleTypeQuery;
import com.youlai.boot.system.model.vo.ArticleTypeVO;

import java.util.List;

/**
 * 文章分类业务接口
 *
 * @author haoxr
 * @since 2021/8/22
 */
public interface ArticleTypeService extends IService<ArticleType> {
    /**
     * 文章分类列表
     * @return 部门列表
     */
    List<ArticleTypeVO> getArticleTypeList(ArticleTypeQuery queryParams);

    /**
     * 文章分类树形下拉选项
     *
     * @return 部门树形下拉选项
     */
    List<Option<Long>> listArticleTypeOptions();
    /**
     * 新增文章分类
     *
     * @param formData 部门表单
     * @return 部门ID
     */
    Long saveArticleType(ArticleTypeForm formData);

    /**
     * 修改文章分类
     *
     * @param articletypeId  部门ID
     * @param formData 部门表单
     * @return 部门ID
     */
    Long updateArticleType(Long articletypeId, ArticleTypeForm formData);

    /**
     * 删除文章分类
     *
     * @param ids 部门ID，多个以英文逗号,拼接字符串
     * @return 是否成功
     */
    boolean deleteByIds(String ids);

    /**
     * 获取文章分类详情
     *
     * @param articletypeId 部门ID
     * @return 部门详情
     */
    ArticleTypeForm getArticleTypeForm(Long articletypeId);

    List<ArticleType> topArticleTypeList();
}
